#ifndef INCLUDED_GAMESTATE_H
#define INCLUDED_GAMESTATE_H

#include <SGE.h>
#include "GameContext.h"

using namespace SGE;

enum NextState
{
	None,
	Frontend,
	Gameplay,
	Quit
};

class GameState
{
	protected:
		GameContext& mGameContext;

	public:
		GameState  (GameContext& gc);
		virtual ~GameState ();

		virtual void Load   ()			     = 0;
		virtual void Render ()			     = 0;
		virtual void Unload ()			     = 0;
		virtual NextState Update (float deltaTime) = 0;
};

#endif